home *** CD-ROM | disk | FTP | other *** search
/ Software 2000 / Software 2000 Volume 1 (Disc 2 of 2).iso / games / g301.dms / in.adf / Space_blob.AMOS / Space_blob.amosSourceCode < prev    next >
Encoding:
AMOS Source Code  |  1990-05-15  |  23.1 KB  |  443 lines

  1. Set Buffer 8
  2.  Rem  *************************** 
  3.  Rem    The Amiga Conversion of 
  4.  Rem  SPACE BLOB by Robin Edwards 
  5.  Rem          26/7/90   
  6.  Rem  *************************** 
  7.  Close Workbench : Screen Open 0,320,200,16,Lowres
  8.  Flash Off : Curs Off : Hide : Cls 0
  9.  For I=1 To 6 : Make Mask I : Next I
  10.  For I=16 To 18 : Make Mask I : Next I
  11.  For I=44 To 53 : Make Mask I : Next I
  12.  FLAG=0
  13.  Make Mask 64 : Make Mask 68 : Make Mask 42 : Make Mask 43
  14.  Auto View Off : Screen Open 1,320,200,16,Lowres : Screen To Front 0 : Screen 0 : Auto View On 
  15.  SCRE=0
  16.  MUZAK=1
  17. 80 Rem ***********************
  18.  Gosub 10000
  19. 100 SCRN=1 : SCRE=0 : LIVES=5
  20.  Rem ***********
  21. 110 Flash Off : If SCRN=6 or SCRN=12 or SCRN=18 Then Goto 8000
  22.  If SCRN=19 Then SCRN=1 : If LIVES<10 Then Gosub 20000
  23.  Gosub 2000+(100*SCRN) : Wait Vbl 
  24.  Flash 12,"(2ae,3)(66c,3)(82a,3)(c28,3)(e24,3)(e42,3)(ea0,3)(ee0,3)(aa4,3)(688,3)"
  25.  Gosub 6000
  26. 120 Gosub 5000 : Wait Vbl : Goto 120
  27.  Rem ---------------------- 
  28.  Rem -     SCREENS        - 
  29.  Rem ---------------------- 
  30.  Rem
  31. 2100 Rem ----- ONE -------
  32.  Fade 1 : Wait 14 : Bob Off : Sprite Off 
  33.  TYPE=1 : Gosub 4000 : FINSCRE=60
  34.  For I=0 To 13 : Bob 1,I*26+1,193,9 : Put Bob 1 : Wait Vbl : Next I
  35.  Restore 2140
  36.  For I=1 To 999
  37.  Read IX,IY,IS
  38.  If IX=-1 Then Goto 2150
  39.  Bob 1,IX,IY,IS : Put Bob 1 : Wait Vbl 
  40.  Next I
  41. 2140 Data 100,140,8,126,140,8,210,150,9
  42.  Data 50,90,9,230,96,8,256,96,8,282,96,8
  43.  Data 120,55,9,146,55,9
  44.  Data 250,70,35,40,166,35,40,166,35
  45.  Data -1,-1,-1
  46. 2150 Gosub 6500 : Screen Copy 0 To 1
  47.  For I=1 To 999
  48.  Read IX,IY,IS
  49.  If IX=-1 Then Goto 2170
  50.  Bob 1,IX,IY,IS : Put Bob 1 : Wait Vbl 
  51.  Next I
  52. 2170 Data 280,140,14,50,25,14
  53.  Data 295,30,15,255,45,14
  54.  Data 215,35,15,125,90,15
  55.  Data -1,-1,-1
  56.  Put Bob 1 : Wait Vbl 
  57.  Sprite 1,X Hard(0,10),Y Hard(0,180),1
  58.  Palette $0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$E0,$A00,$E44,$EE,$444,$666,$EEE
  59.  Palette ,,,,,,,,,,,,,,,,$0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$E0,$A00,$E44,$EE,$444,$666,$EEE
  60.  Return 
  61. 2200 Rem ----- TWO -------
  62.  Fade 1 : Wait 14 : Bob Off : Sprite Off 
  63.  TYPE=2 : Gosub 4000 : FINSCRE=60
  64.  For I=0 To 13 : Bob 1,I*26+1,193,9 : Put Bob 1 : Wait Vbl : Next I
  65.  Restore 2240
  66.  For I=1 To 999
  67.  Read IX,IY,IS
  68.  If IX=-1 Then Goto 2250
  69.  Bob 1,IX,IY,IS : Put Bob 1 : Wait Vbl 
  70.  Next I
  71. 2240 Data 50,168,30,80,168,30,110,168,30,140,168,30
  72.  Data 280,168,30,250,168,30,220,168,30,190,168,30
  73.  Data 165,150,8,165,116,8,165,80,8
  74.  Data 80,70,9,106,70,9,50,115,11
  75.  Data 250,60,11,250,60,11
  76.  Data -1,-1,-1
  77. 2250 Gosub 6500 : Screen Copy 0 To 1
  78.  For I=1 To 999
  79.  Read IX,IY,IS
  80.  If IX=-1 Then Goto 2270
  81.  Bob 1,IX,IY,IS : Put Bob 1 : Wait Vbl 
  82.  Next I
  83. 2270 Data 55,30,14,260,25,15
  84.  Data 35,80,15,260,110,14
  85.  Data 125,110,14,200,85,15
  86.  Data -1,-1,-1
  87.  Sprite 4,X Hard(0,0),Y Hard(0,104),17 : Move X 4,"128(1,1,320)L" : Move On(4) : Anim 4,"(17,8)(16,8)(18,8)(16,8)L" : Anim On(4)
  88.  Wait Vbl : Put Bob 1 : Sprite 1,X Hard(0,10),Y Hard(0,180),1
  89.  Palette $0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$EE0,$A00,$E44,$EE,$400,$611,$EEE
  90.  Palette ,,,,,,,,,,,,,,,,$0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$EE0,$A00,$E44,$EE,$422,$622,$EEE
  91.  Return 
  92. 2300 Rem ----- Three -----
  93.  Fade 1 : Wait 14 : Bob Off : Sprite Off 
  94.  TYPE=4 : Gosub 4000 : FINSCRE=40
  95.  For I=0 To 13 : Bob 1,I*26+1,193,55 : Put Bob 1 : Wait Vbl : Next I
  96.  Restore 2340
  97.  For I=1 To 999
  98.  Read IX,IY,IS
  99.  If IX=-1 Then Goto 2350
  100.  Bob 1,IX,IY,IS : Put Bob 1 : Wait Vbl 
  101.  Next I
  102. 2340 Data 50,140,10,140,120,10,170,120,10
  103.  Data 147,96,35
  104.  Data 70,70,10,220,75,10
  105.  Data 55,47,35,210,50,35
  106.  Data 205,168,35,220,168,35,240,168,35,240,168,35
  107.  Wait Vbl : Put Bob 1
  108.  Data -1,-1,-1
  109. 2350 Gosub 6500 : Screen Copy 0 To 1
  110.  Put Bob 1 : Bob 1,250,135,14 : Wait Vbl : Put Bob 1 : Bob 1,290,30,15 : Wait Vbl : Put Bob 1 : Bob 1,160,60,14 : Wait Vbl : Put Bob 1 : Bob 1,60,25,15
  111.  Wait Vbl : Put Bob 1 : Sprite 1,X Hard(0,48),Y Hard(0,134),1
  112.  Sprite 4,X Hard(0,220),Y Hard(0,79),48
  113.  Anim 4,"(44,8)(45,8)(46,8)(47,8)(48,40)(49,4)(50,4)(51,4)(52,4)(53,4)(44,1)L" : Move Y 4,"129(1,0,32)(1,1,7)(1,2,10)(1,3,23)(1,0,21)L" : Anim On(4) : Move On(4)
  114.  Palette $0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$E0,$A00,$E44,$EE,$224,$446,$EEE
  115.  Palette ,,,,,,,,,,,,,,,,$0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$E0,$A00,$E44,$EE,$224,$446,$EEE
  116.  Return 
  117. 2400 Rem ----- Four ----- 
  118.  Fade 1 : Wait 14 : Bob Off : Sprite Off 
  119.  TYPE=6 : Gosub 4000 : FINSCRE=40
  120.  For I=0 To 13 : Bob 1,I*26+1,193,55 : Put Bob 1 : Wait Vbl : Next I
  121.  For I=0 To 3 : Bob 1,200,159-(I*28),34 : Put Bob 1 : Wait Vbl : Next I
  122.  Restore 2440
  123.  For I=1 To 999
  124.  Read IX,IY,IS
  125.  If IX=-1 Then Goto 2445
  126.  Bob 1,IX,IY,IS : Put Bob 1 : Wait Vbl 
  127.  Next I
  128. 2440 Data 16,181,13,48,181,13,301,181,13,269,181,13
  129.  Data 50,80,55,100,120,55
  130.  Data 140,65,55,270,65,55,285,122,55
  131.  Data 50,56,30,101,96,30,285,99,30
  132. 2445 Wait Vbl : Put Bob 1
  133.  Data -1,-1,-1
  134.  Gosub 6500 : Screen Copy 0 To 1
  135.  Bob 1,30,20,14 : Wait Vbl : Put Bob 1 : Bob 1,90,60,14 : Wait Vbl : Put Bob 1
  136.  Bob 1,170,120,15 : Wait Vbl : Put Bob 1 : Bob 1,275,85,14 : Wait Vbl : Put Bob 1
  137.  Palette $0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$EE0,$A00,$E44,$EE,$242,$464,$EEE
  138.  Palette ,,,,,,,,,,,,,,,,$0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$EE0,$A00,$E44,$EE,$242,$464,$EEE
  139.  Sprite 1,X Hard(0,155),Y Hard(0,180),1
  140.  Return 
  141. 2500 Rem ----- Five ----- 
  142.  Fade 1 : Wait 14 : Bob Off : Sprite Off 
  143.  TYPE=8 : Gosub 4000 : FINSCRE=50
  144.  For I=0 To 13 : Bob 1,I*26+1,193,9 : Put Bob 1 : Wait Vbl : Next I
  145.  For I=0 To 10 : Bob 1,I*32+5,180,12 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1
  146.  Bob 1,30,100,55 : Wait Vbl : Put Bob 1 : Bob 1,100,120,55 : Wait Vbl : Put Bob 1 : Bob 1,160,80,55 : Wait Vbl : Put Bob 1
  147.  Bob 1,105,60,55 : Wait Vbl : Put Bob 1
  148.  Bob 1,210,150,55 : Wait Vbl : Put Bob 1
  149.  Bob 1,250,70,55 : Wait Vbl : Put Bob 1 : Bob 1,280,110,55 : Wait Vbl : Put Bob 1
  150.  Gosub 6500 : Screen Copy 0 To 1
  151.  Bob 1,40,30,15 : Wait Vbl : Put Bob 1 : Bob 1,70,120,14 : Wait Vbl : Put Bob 1 : Bob 1,190,25,14 : Wait Vbl : Put Bob 1
  152.  Bob 1,210,125,15 : Wait Vbl : Put Bob 1 : Bob 1,290,35,15 : Wait Vbl : Put Bob 1
  153.  Palette $0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$EE0,$A00,$E44,$EE,$426,$448,$EEE
  154.  Palette ,,,,,,,,,,,,,,,,$0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$EE0,$A00,$E44,$EE,$426,$448,$EEE : Put Bob 1 : Sprite 1,X Hard(0,30),Y Hard(0,90),1
  155.  Return 
  156. 2700 Rem ----- SVN -------
  157.  Fade 1 : Wait 14 : Sprite Off : Bob Off 
  158.  TYPE=7 : Gosub 4000 : FINSCRE=50
  159.  For I=0 To 13 : Bob 1,I*26+1,193,55 : Put Bob 1 : Wait Vbl : Next I
  160.  For I=3 To 9 : Bob 1,I*26+1,123,55 : Put Bob 1 : Wait Vbl : Next I
  161.  For I=5 To 7 : Bob 1,I*26+1,53,55 : Put Bob 1 : Wait Vbl : Next I
  162.  For I=0 To 4 : Bob 1,141,157-(I*28),34 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1 : Wait Vbl 
  163.  Gosub 6500 : Screen Copy 0 To 1
  164.  Bob 1,157,20,14 : Wait Vbl : Put Bob 1 : Bob 1,127,80,14 : Wait Vbl : Put Bob 1 : Bob 1,189,80,14 : Wait Vbl : Put Bob 1
  165.  Bob 1,95,150,14 : Wait Vbl : Put Bob 1 : Bob 1,220,150,14 : Wait Vbl : Put Bob 1
  166.  Sprite 4,X Hard(0,130),Y Hard(0,80),42 : Move X 4,"(1,1,65)(1,-1,65)L" : Move Y 4,"(1,0,5)(1,1,5)(1,2,15)(1,-2,15)(1,-1,5)L" : Move On(4)
  167.  Wait Vbl : Put Bob 1 : Sprite 1,X Hard(0,10),Y Hard(0,180),1
  168.  Palette $0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$E0,$A00,$E44,$EE,$444,$44A,$EEE
  169.  Palette ,,,,,,,,,,,,,,,,$0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$E0,$A00,$E44,$EE,$444,$44A,$EEE
  170.  Return 
  171. 2800 Rem ----- ATE -------
  172.  Fade 1 : Wait 14 : Sprite Off : Bob Off 
  173.  TYPE=5 : Gosub 4000 : FINSCRE=60
  174.  For I=0 To 13 : Bob 1,I*26+1,194,12 : Put Bob 1 : Wait Vbl : Next I
  175.  Bob 1,20,100,61 : Wait Vbl : Put Bob 1 : Bob 1,80,60,62 : Wait Vbl : Put Bob 1
  176.  Bob 1,146,117,61 : Wait Vbl : Put Bob 1 : Bob 1,60,150,63 : Wait Vbl : Put Bob 1 : Bob 1,260,40,63 : Wait Vbl : Put Bob 1
  177.  Bob 1,210,175,62 : Wait Vbl : Put Bob 1 : Bob 1,230,85,62 : Wait Vbl : Put Bob 1 : Bob 1,150,40,63 : Wait Vbl : Put Bob 1
  178.  Gosub 6500 : Screen Copy 0 To 1
  179.  Bob 1,30,30,14 : Wait Vbl : Put Bob 1 : Bob 1,130,50,15 : Wait Vbl : Put Bob 1 : Bob 1,100,130,14 : Wait Vbl : Put Bob 1
  180.  Bob 1,200,140,15 : Wait Vbl : Put Bob 1 : Bob 1,260,110,14 : Wait Vbl : Put Bob 1 : Bob 1,240,40,14 : Wait Vbl : Put Bob 1
  181.  Wait Vbl : Put Bob 1 : Sprite 1,X Hard(0,40),Y Hard(0,95),1
  182.  Palette $0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$4E,$A00,$E44,$EE,$0,$4E,$EEE
  183.  Palette ,,,,,,,,,,,,,,,,$0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$4E,$A00,$E44,$EE,$0,$4E,$EEE
  184.  Return 
  185. 2900 Rem ----- NYN -------
  186.  Fade 1 : Wait 14 : Sprite Off : Bob Off 
  187.  TYPE=5 : Gosub 4000 : FINSCRE=50
  188.  For I=0 To 13 : Bob 1,I*26+1,194,12 : Put Bob 1 : Wait Vbl : Next I
  189.  Bob 1,20,100,62 : Wait Vbl : Put Bob 1 : Bob 1,90,60,61 : Wait Vbl : Put Bob 1
  190.  Bob 1,130,160,10 : Wait Vbl : Put Bob 1 : Bob 1,270,60,10 : Wait Vbl : Put Bob 1 : Bob 1,200,90,63 : Wait Vbl : Put Bob 1
  191.  Bob 1,230,130,62 : Wait Vbl : Put Bob 1
  192.  Gosub 6500 : Screen Copy 0 To 1
  193.  Bob 1,30,35,14 : Wait Vbl : Put Bob 1
  194.  Bob 1,150,140,14 : Wait Vbl : Put Bob 1 : Bob 1,110,125,15 : Wait Vbl : Put Bob 1
  195.  Bob 1,190,40,15 : Wait Vbl : Put Bob 1 : Bob 1,280,89,14 : Wait Vbl : Put Bob 1
  196.  Sprite 4,X Hard(0,0),Y Hard(0,135),64 : Move X 4,"108(1,2,180)L" : Move On(4)
  197.  Wait Vbl : Put Bob 1 : Sprite 1,X Hard(0,40),Y Hard(0,95),1
  198.  Palette $0,$EEE,$CCC,$888,$EAA,$CE6,$4C2,$26E,$4E,$4E,$A00,$E44,$EE,$0,$4E,$EEE
  199.  Palette ,,,,,,,,,,,,,,,,$0,$EEE,$CCC,$888,$EAA,$CE6,$4C2,$26E,$4E,$4E,$A00,$E44,$EE,$0,$4E,$EEE
  200.  Return 
  201. 3000 Rem ----- TEN -------
  202.  Fade 1 : Wait 14 : Sprite Off : Bob Off 
  203.  TYPE=10 : Gosub 4000 : FINSCRE=40
  204.  For I=0 To 13 : Bob 1,I*26+1,193,55 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1 : Wait Vbl 
  205.  Bob 1,51,128,62 : Wait Vbl : Put Bob 1
  206.  Bob 1,100,84,61 : Wait Vbl : Put Bob 1
  207.  Bob 1,190,125,63 : Wait Vbl : Put Bob 1
  208.  Bob 1,182,40,61 : Wait Vbl : Put Bob 1
  209.  Bob 1,110,166,35 : Wait Vbl : Put Bob 1
  210.  Gosub 6500 : Screen Copy 0 To 1
  211.  Bob 1,120,130,14 : Wait Vbl : Put Bob 1
  212.  Bob 1,40,40,14 : Wait Vbl : Put Bob 1 : Bob 1,130,30,15 : Wait Vbl : Put Bob 1
  213.  Bob 1,280,100,14 : Wait Vbl : Put Bob 1
  214.  Sprite 4,X Hard(0,122),Y Hard(0,0),44 : Anim 4,"(44,8)(45,8)(46,8)(47,8)(48,35)(49,4)(50,4)(51,4)(52,4)(53,4)(44,1)L"
  215.  Move Y 4,"147(1,0,32)(1,1,8)(1,2,13)(1,3,14)(1,0,21)L" : Anim On(4) : Move On(4)
  216.  Palette $0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$E0,$A00,$E44,$EE,$0,$EEE,$EEE
  217.  Palette ,,,,,,,,,,,,,,,,$0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$E0,$A00,$E44,$EE,$0,$EEE,$EEE : Put Bob 1 : Sprite 1,X Hard(0,30),Y Hard(0,186),1
  218.  Return 
  219. 3100 Rem -----  11 -------
  220.  Fade 1 : Wait 14 : Bob Off : Sprite Off 
  221.  TYPE=2 : Gosub 4000 : FINSCRE=70
  222.  For I=0 To 13 : Bob 1,I*26+1,193,8 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1 : Wait Vbl 
  223.  Gosub 6500 : Screen Copy 0 To 1
  224.  For I=0 To 6 : Bob 1,I*45+25,143,15+((I/2.0)=Int(I/2)) : Wait Vbl : Put Bob 1 : Next I : Bob 1,135,90,61 : Wait Vbl : Put Bob 1
  225.  Sprite 4,X Hard(0,0),Y Hard(0,180),64 : Move X 4,"108(1,8,45)L" : Move On(4)
  226.  Palette $0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$EE0,$A00,$E44,$EE,$6E,$2A,$EEE
  227.  Palette ,,,,,,,,,,,,,,,,$0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$EE0,$A00,$E44,$EE,$AAA,$2A,$EEE : Put Bob 1 : Sprite 1,X Hard(0,157),Y Hard(0,80),1
  228.  Return 
  229. 3300 Rem --------- 13  ---------
  230.  Fade 1 : Wait 14 : Sprite Off : Bob Off 
  231.  TYPE=1 : Gosub 4000 : FINSCRE=70
  232.  For I=0 To 13 : Bob 1,I*26+1,193,55 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1
  233.  Bob 1,140,90,65 : Wait Vbl : Put Bob 1 : Bob 1,80,130,66 : Wait Vbl : Put Bob 1
  234.  Bob 1,40,75,67 : Wait Vbl : Put Bob 1
  235.  Bob 1,210,80,55 : Wait Vbl : Put Bob 1 : Bob 1,236,80,55 : Wait Vbl : Put Bob 1
  236.  Bob 1,100,50,67 : Wait Vbl : Put Bob 1 : Bob 1,270,125,67 : Wait Vbl : Put Bob 1
  237.  Gosub 6500 : Screen Copy 0 To 1
  238.  Bob 1,50,30,14 : Wait Vbl : Put Bob 1
  239.  Bob 1,100,100,14 : Wait Vbl : Put Bob 1
  240.  Bob 1,150,40,14 : Wait Vbl : Put Bob 1
  241.  Bob 1,155,140,14 : Wait Vbl : Put Bob 1
  242.  Bob 1,45,150,14 : Wait Vbl : Put Bob 1
  243.  Bob 1,220,20,14 : Wait Vbl : Put Bob 1
  244.  Bob 1,240,110,14 : Wait Vbl : Put Bob 1
  245.  Sprite 4,X Hard(0,45),Y Hard(0,0),68 : Move Y 4,"30(1,3,80)L" : Move X 4,"(1,0,79)(1,110,1)(1,0,79)(1,-60,1)(1,0,79)(1,-50,1)L" : Move On(4)
  246.  Palette $0,$D22,$B11,$800,$ACE,$CE6,$4C2,$26E,$222,$EE0,$A00,$E44,$EE,$500,$611,$EEE
  247.  Palette ,,,,,,,,,,,,,,,,$0,$D22,$B11,$800,$ACE,$CE6,$4C2,$26E,$222,$EE0,$A00,$E44,$EE,$622,$844,$EEE : Put Bob 1 : Sprite 1,X Hard(0,157),Y Hard(0,80),1
  248.  Return 
  249. 3400 Rem --------- 14  ---------
  250.  Fade 1 : Wait 14 : Sprite Off : Bob Off 
  251.  TYPE=4 : Gosub 4000 : FINSCRE=40
  252.  For I=0 To 14 : Bob 1,I*23+1,179,69 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1
  253.  For I=1 To 8 Step 2 : Bob 1,(I-1)*40+20,180-(I*16),67 : Wait Vbl : Put Bob 1 : Next I
  254.  Gosub 6500 : Screen Copy 0 To 1
  255.  For I=1 To 6 Step 2 : Bob 1,(I-1)*40+60,120-(I*16),14 : Wait Vbl : Put Bob 1 : Next I
  256.  Bob 1,290,130,14 : Wait Vbl : Put Bob 1
  257.  Sprite 4,X Hard(0,0),Y Hard(0,100),64 : Move X 4,"108(1,4,90)L" : Move On(4)
  258.  Flash 9,"(e00,4)(c00,4)(a00,4)(c00,4)"
  259.  Palette $0,$E22,$C22,$800,$ACE,$CE6,$4C2,$26E,$222,$E00,$A00,$E44,$EE,$500,$611,$EEE
  260.  Palette ,,,,,,,,,,,,,,,,$0,$E22,$C22,$800,$ACE,$CE6,$4C2,$26E,$222,$E00,$A00,$E44,$EE,$422,$622,$EEE : Put Bob 1 : Sprite 1,X Hard(0,30),Y Hard(0,160),1
  261.  Return 
  262. 3500 Rem --------- 15  ---------
  263.  Fade 1 : Wait 14 : Sprite Off : Bob Off 
  264.  TYPE=3 : Gosub 4000 : FINSCRE=100
  265.  For I=0 To 13 : Bob 1,I*26+1,178,55 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1
  266.  For I=0 To 13 Step 2 : Bob 1,I*26+1,78,55 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1
  267.  Gosub 6500 : Screen Copy 0 To 1
  268.  For I=0 To 5 : Bob 1,I*55+20,118,15+((I/2.0)=Int(I/2.0)) : Put Bob 1 : Wait Vbl : Next I : Put Bob 1
  269.  For I=1 To 4 : Bob 1,I*65-10,28,14-((I/2.0)=Int(I/2.0)) : Put Bob 1 : Wait Vbl : Next I : Put Bob 1
  270.  Sprite 4,X Hard(0,0),Y Hard(0,126),64 : Move X 4,"108(1,8,45)L" : Move Y 4,"(1,0,44)(1,40,1)(1,0,44)(1,-40,1)L" : Move On(4)
  271.  Palette $0,$D22,$B11,$800,$ACE,$CE6,$4C2,$26E,$222,$E00,$A00,$E44,$EE,$411,$611,$EEE
  272.  Palette ,,,,,,,,,,,,,,,,$0,$D22,$B11,$800,$ACE,$CE6,$4C2,$26E,$222,$E00,$A00,$E44,$EE,$411,$611,$EEE : Put Bob 1 : Sprite 1,X Hard(0,50),Y Hard(0,50),1
  273.  Return 
  274. 3600 Rem ---------- 16 -----------
  275.  Fade 1 : Wait 14 : Sprite Off : Bob Off 
  276.  TYPE=8 : Gosub 4000 : FINSCRE=60
  277.  For I=0 To 13 : Bob 1,I*26+1,193,55 : Put Bob 1 : Wait Vbl : Next I
  278.  For I=0 To 13 Step 2 : Bob 1,I*26+1,143,55 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1
  279.  For I=1 To 13 Step 2 : Bob 1,I*26+1,103,55 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1
  280.  For I=0 To 13 Step 2 : Bob 1,I*26+1,63,55 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1
  281.  For I=0 To 13 Step 2 : Bob 1,I*26+1,120,30 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1
  282.  For I=1 To 13 Step 2 : Bob 1,I*26+1,80,30 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1
  283.  For I=0 To 13 Step 2 : Bob 1,I*26+1,40,30 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1
  284.  Gosub 6500 : Screen Copy 0 To 1
  285.  For I=1 To 12 Step 2 : Bob 1,I*26+1,30,15 : Put Bob 1 : Wait Vbl : Next I
  286.  Palette $0,$C22,$911,$800,$ACE,$CE6,$4C2,$26E,$222,$E00,$A00,$E44,$EE,$400,$511,$EEE
  287.  Palette ,,,,,,,,,,,,,,,,$0,$E22,$C22,$800,$ACE,$CE6,$4C2,$26E,$222,$E00,$A00,$E44,$EE,$422,$622,$EEE : Put Bob 1 : Sprite 1,X Hard(0,50),Y Hard(0,175),1
  288.  Return 
  289. 3700 Rem ---------- 17 -----------
  290.  Fade 1 : Wait 14 : Sprite Off : Bob Off 
  291.  TYPE=2 : Gosub 4000 : FINSCRE=30
  292.  For I=0 To 13 : Bob 1,I*26+1,193,9 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1
  293.  Bob 1,100,110,67 : Wait Vbl : Put Bob 1 : Bob 1,200,110,67 : Wait Vbl : Put Bob 1 : Bob 1,140,163,69 : Wait Vbl : Put Bob 1
  294.  Gosub 6500 : Screen Copy 0 To 1
  295.  Bob 1,55,50,14 : Wait Vbl : Put Bob 1 : Bob 1,255,50,14 : Wait Vbl : Put Bob 1 : Bob 1,155,130,15 : Wait Vbl : Put Bob 1
  296.  Palette $0,$D22,$B11,$800,$ACE,$CE6,$4C2,$26E,$222,$E22,$A00,$E44,$EE,$500,$611,$EEE
  297.  Palette ,,,,,,,,,,,,,,,,$0,$D22,$B11,$800,$ACE,$CE6,$4C2,$26E,$222,$EE0,$A00,$E44,$EE,$622,$844,$EEE : Put Bob 1 : Sprite 1,X Hard(0,110),Y Hard(0,110),1
  298.  Return 
  299. 20000 Rem --- bonus life ----- 
  300.  Fade 1 : Wait 14 : Sprite Off : Bob Off 
  301.  TYPE=1 : Gosub 4000
  302.  For I=0 To 13 : Bob 1,I*26+1,193,9 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1
  303.  For I=6 To 13 : Bob 1,I*26+1,40,9 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1
  304.  For I=1 To 3 : Bob 1,I*36,193-(I*40),9 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1
  305.  Gosub 6500
  306.  Wait Vbl : Put Bob 1 : Sprite 1,X Hard(0,5),Y Hard(0,184),1
  307.  Palette $0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$0,$E0,$A00,$E44,$EE,$0,$0,$EEE
  308.  Palette ,,,,,,,,,,,,,,,,$0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$0,$E0,$A00,$E44,$EE,$0,$0,$EEE
  309.  Move X 1,"(1,2,70)" : Anim 1,"(1,7)(2,7)(3,7)(2,7)L" : Anim On(1)
  310.  Move Y 1,"(1,-4,7)(1,-2,5)(1,-1,2)(1,0,3)(1,-4,7)(1,-2,5)(1,-1,2)(1,0,3)(1,-4,7)(1,-2,5)(1,-1,2)(1,0,3)(1,-4,7)(1,-2,5)(1,-1,2)" : Move On(1)
  311.  Wait Vbl : Repeat : Until Movon(1)=0
  312.  Move Y 1,"(1,0,3)(1,1,8)" : Move X 1,"(1,2,100)" : Move On(1)
  313.  Inc LIVES
  314.  DEST=451-(LIVES*15)
  315.  Repeat : Until X Sprite(1)>=DEST
  316.  Move Off : Move Y 1,"(1,-1,17)" : Move On 
  317.  Repeat : Until Movon(1)=0 : Anim Off 
  318.  Wait 40 : Return 
  319. 4000 Rem ---------------
  320.  Rem - BACKGROUNDS -
  321.  Rem ---------------
  322.  Rem ----- ONE and all -----
  323.  Wait Vbl : For I=0 To 4 : For J=0 To 4
  324.  Paste Icon I*64,J*40,TYPE
  325.  Next J : Next I
  326.  Return 
  327. 6000 Rem -----------------
  328.  Rem - SCORE ROUTINE -
  329.  Rem -----------------
  330.  Z6=(SCRE mod 10)
  331.  Z5=(SCRE mod 100)/10
  332.  Z4=(SCRE mod 1000)/100
  333.  Z3=(SCRE mod 10000)/1000
  334.  Z2=(SCRE mod 100000)/10000
  335.  Z1=(SCRE mod 1000000)/100000
  336.  Bob 1,10,1,Z1+20 : Bob 2,20,1,Z2+20
  337.  Bob 3,30,1,Z3+20 : Bob 4,40,1,Z4+20
  338.  Bob 5,50,1,Z5+20 : Bob 6,60,1,Z6+20
  339.  Return 
  340. 6200 Rem **** COLLECT CRYSTAL ****
  341.  Freeze : XX=XX-16 : YY=YY-20 : If MUZAK=0 Then Bell 
  342.  Screen Copy 1,XX,YY,XX+32,YY+40 To 0,XX,YY : SCRE=SCRE+10 : FINSCRE=FINSCRE-10
  343.  Gosub 6000 : Unfreeze 
  344.  If FINSCRE=0 Then Pop : Pop : SCRN=SCRN+1 : Goto 110
  345.  Return 
  346. 6300 If XX<9 Then Sprite 1,X Hard(0,310),Y Hard(0,YY),4
  347. 6301 If XX>311 Then Sprite 1,X Hard(0,10),Y Hard(0,YY),1
  348. 6302 If YY<20 Then UP=0 : DWN=0 : Move Y 1,"(1,1,5)(1,2,5)(1,4,50)" : Move On(1)
  349. 6303 Return 
  350. 6500 Rem ----- LIVES -------
  351.  For I=1 To LIVES
  352.  If LIVES>0 Then Bob 1,323-(I*15),15,1 : Wait Vbl : Put Bob 1
  353.  Next I
  354.  Return 
  355. 7000 Rem ------------ DIE --------
  356.  Pop 
  357.  If Inkey$="h" Then Inc SCRN : Clear Key : Goto 110
  358.  Move Off(1) : Dec LIVES : Boom 
  359.  Anim 1,"(36,7)(37,7)(38,7)(39,7)(40,7)(41,7)(54,10)" : Anim On : Wait 52
  360.  Clear Key : If LIVES>=0 Then Goto 110
  361.  Wait 30 : Fade 1 : Wait 15 : Goto 80
  362. 8000 Rem -------   B O N U S  S C R E E N --------
  363.  Fade 1 : Wait 14 : TIME=0 : Sprite Off : Bob Off 
  364.  TYPE=1 : Gosub 4000 : FINSCRE=99999
  365.  If SCRN=6 Then Bob 1,300,165,8 : Put Bob 1 : Wait Vbl 
  366.  If SCRN=12 Then Bob 1,280,165,62 : Put Bob 1 : Wait Vbl 
  367.  If SCRN=18 Then Bob 1,280,165,67 : Put Bob 1 : Wait Vbl 
  368.  If SCRN=6 Then For I=0 To 13 : Bob 1,I*26+1,180,8 : Put Bob 1 : Wait Vbl : Next I
  369.  If SCRN=6 Then For I=2 To 11 : Bob 1,I*26+1,110,8 : Put Bob 1 : Wait Vbl : Next I
  370.  If SCRN=12 Then For I=0 To 13 : Bob 1,I*26+1,180,61 : Put Bob 1 : Wait Vbl : Next I
  371.  If SCRN=12 Then For I=2 To 11 : Bob 1,I*26-16,110,63 : Put Bob 1 : Wait Vbl : Next I
  372.  If SCRN=18 Then For I=0 To 15 : Bob 1,I*23+1,180,66 : Put Bob 1 : Wait Vbl : Next I
  373.  If SCRN=18 Then For I=2 To 11 : Bob 1,I*26-10,110,67 : Put Bob 1 : Wait Vbl : Next I
  374.  Rem *************
  375.  Bob 1,140,30,56 : Wait Vbl : Put Bob 1
  376.  TIME=0
  377.  Gosub 6500 : Screen Copy 0 To 1
  378.  For I=0 To 5 : Bob 1,I*45+25,163,15+((I/2.0)=Int(I/2)) : Wait Vbl : Put Bob 1 : Next I
  379.  For I=1 To 5 : Bob 1,I*45+25,92,14-((I/2.0)=Int(I/2)) : Wait Vbl : Put Bob 1 : Next I
  380.  For I=2 To 4 : Bob 1,I*45+25,52,15+((I/2.0)=Int(I/2)) : Wait Vbl : Put Bob 1 : Next I
  381.  Put Bob 1 : Bob 1,150,-1,54 : Wait Vbl : Put Bob 1 : Sprite 1,X Hard(0,10),Y Hard(0,160),1
  382.  If SCRN=6 Then Palette $0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$E0,$A00,$E44,$EE,$533,$655,$EEE
  383.  If SCRN=6 Then Palette ,,,,,,,,,,,,,,,,$0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$E0,$A00,$E44,$EE,$644,$866,$EEE
  384.  If SCRN=12 Then Palette $0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$E0,$A00,$E44,$EE,$446,$668,$EEE
  385.  If SCRN=12 Then Palette ,,,,,,,,,,,,,,,,$0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$E0,$A00,$E44,$EE,$446,$668,$EEE
  386.  If SCRN=18 Then Palette $0,$D22,$D11,$800,$ACE,$CE6,$4C2,$26E,$222,$E0,$A00,$E44,$EE,$400,$611,$EEE
  387.  If SCRN=18 Then Palette ,,,,,,,,,,,,,,,,$0,$D22,$D11,$800,$ACE,$CE6,$4C2,$26E,$0,$E0,$A00,$E44,$EE,$422,$622,$EEE
  388.  Flash 9,"(262,4)(484,4)(6a6,4)(6c6,4)(8e8,4)(6c6,4)(6a6,4)(474,4)"
  389.  Sprite 4,X Hard(0,10),Y Hard(0,20),57 : Anim 4,"(57,260)(58,100)(59,200)" : Anim On(4)
  390.  Gosub 6000 : Wait Vbl 
  391.  Flash 12,"(2ae,3)(66c,3)(82a,3)(c28,3)(e24,3)(e42,3)(ea0,3)(ee0,3)(aa4,3)(688,3)"
  392.  Rem
  393. 9000 If Jright(1) Then Move X 1,"(1,2,2)" : Move On(1) : If RIGHT=0 Then RIGHT=1 : Anim 1,"(1,8)(2,8)(3,8)(2,8)L" : Anim On(1) : LEFT=0
  394.  If Jleft(1) Then Move X 1,"(1,-2,2)" : Move On(1) : If LEFT=0 Then LEFT=1 : Anim 1,"(4,8)(5,8)(6,8)(5,8)L" : Anim On(1) : RIGHT=0
  395.  XX=X Screen(0,X Sprite(1)) : YY=Y Screen(0,Y Sprite(1))
  396.  ZZ=Point(XX,YY) : ZX=Point(XX,YY-1) : ZA=Point(XX-3,YY-8) : ZB=Point(XX+3,YY-8)
  397.  If Jup(1) and Movon(15)=0 and UP=0 and ZZ>0 and ZZ<8 Then Move Y 1,"(1,-4,10)(1,-2,5)(1,-1,5)(1,0,5)" : Move On(1) : UP=1 : Move X 15,"0(1,1,25)" : Move On(15) : Wait Vbl 
  398.  If(ZZ=0 or ZZ>7) and UP=0 and DWN=0 Then UP=0 : DWN=1 : Move Y 1,"(1,1,5)(1,2,5)(1,4,50)" : Move On(1) : Move X 15,"0(1,1,60)" : Move On(15) : Wait Vbl 
  399.  If ZZ<>0 and ZZ<8 and DWN=1 Then DWN=0 : UP=0 : Move Off(1) : Move Off(15)
  400.  If Movon(15)=0 Then UP=0 : DWN=0
  401.  If ZZ<>0 and ZZ<8 and UP=0 and DWN=0 and ZX<>0 and ZX<8 Then Move Y 1,"(1,-1,1)" : Move On(1)
  402.  If Joy(1)=0 Then Anim Off(1) : LEFT=0 : RIGHT=0
  403.  If YY<20 or XX<9 or XX>311 Then Gosub 6300
  404.  If ZZ=9 or ZX=9 Then Goto 7000
  405.  If ZZ=12 or ZX=12 or ZA=12 or ZB=12 Then Gosub 6200
  406.  Inc TIME : Wait Vbl : If TIME<360 Then Goto 9000
  407.  Freeze : Move Off(1) : Anim Off(1)
  408.  Rem
  409.  Wait 10 : Bob 10,138,50,60
  410.  Wait 100
  411.  SCRN=SCRN+1 : Goto 110
  412.  Rem *** TITLE SCREEN *** 
  413. 10000 Sprite Off : Bob Off : Cls 0 : Clear Key 
  414.  Unpack 5 To 1
  415.  Palette $0,$600,$A00,$E00,$E22,$62E,$42E,$40E,$EE0,$A00,$E44,$EEE,$CCC,$AAA,$888,$EEE : Wait Vbl 
  416.  Palette ,,,,,,,,,,,,,,,,$0,$600,$A00,$E00,$E22,$62E,$42E,$40E,$EE0,$A00,$E44,$EEE,$CCC,$AAA,$888,$EEE : Wait Vbl 
  417.  Gosub 6000 : Wait Vbl : For I=1 To 6 : Put Bob I : Next I : Wait Vbl : For I=1 To 6 : Bob Off(I) : Next I
  418.  Sprite 1,X Hard(0,250),Y Hard(0,-20),70 : Move Y 1,"(1,1,182)(2,-1,5)(1,0,10)(2,1,5)" : Move On : Anim 1,"(70,180)(71,7)(72,1)" : Anim On 
  419.  Paste Bob 280,1,74
  420.  Wait Vbl 
  421.  If FLAG=0 Then FLAG=1 : Music 1
  422.  Bob 1,256,70,75+(1-MUZAK)
  423.  Repeat 
  424.  If Inkey$<>"" Then MUZAK=(1-MUZAK) : Bob 1,256,70,75+(1-MUZAK) : If MUZAK=1 Then Music 1 Else Music Off 
  425.  Until Fire(1)
  426.  Fade 1 : Wait 16 : Cls 0 : Bob Off : Sprite Off : Wait Vbl : Screen 0 : Cls 0 : Screen To Front 0
  427.  Return 
  428.  Rem
  429. 5000 Rem ***** MOVEMENT ROUTINE ***** 
  430.  If Jright(1) Then Move X 1,"(1,2,2)" : Move On(1) : If RIGHT=0 Then RIGHT=1 : Anim 1,"(1,8)(2,8)(3,8)(2,8)L" : Anim On(1) : LEFT=0
  431.  If Jleft(1) Then Move X 1,"(1,-2,2)" : Move On(1) : If LEFT=0 Then LEFT=1 : Anim 1,"(4,8)(5,8)(6,8)(5,8)L" : Anim On(1) : RIGHT=0
  432.  XX=X Screen(0,X Sprite(1)) : YY=Y Screen(0,Y Sprite(1))
  433.  ZZ=Point(XX,YY) : ZX=Point(XX,YY-1) : ZA=Point(XX-3,YY-8) : ZB=Point(XX+3,YY-8)
  434.  If Jup(1) and Movon(15)=0 and UP=0 and ZZ>0 and ZZ<8 Then Move Y 1,"(1,-4,10)(1,-2,5)(1,-1,5)(1,0,5)" : Move On(1) : UP=1 : Move X 15,"0(1,1,25)" : Move On(15) : Wait Vbl 
  435.  If(ZZ=0 or ZZ>7) and UP=0 and DWN=0 Then UP=0 : DWN=1 : Move Y 1,"(1,1,5)(1,2,5)(1,4,50)" : Move On(1) : Move X 15,"0(1,1,60)" : Move On(15) : Wait Vbl 
  436.  If ZZ<>0 and ZZ<8 and DWN=1 Then DWN=0 : UP=0 : Move Off(1) : Move Off(15)
  437.  If Movon(15)=0 Then UP=0 : DWN=0
  438.  If ZZ<>0 and ZZ<8 and UP=0 and DWN=0 and ZX<>0 and ZX<8 Then Move Y 1,"(1,-1,1)" : Move On(1)
  439.  If Joy(1)=0 Then Anim Off(1) : LEFT=0 : RIGHT=0
  440.  If YY<20 or XX<9 or XX>311 Then Gosub 6300
  441.  If ZZ=9 or ZX=9 or Sprite Col(1)<>0 Then Goto 7000
  442.  If ZZ=12 or ZX=12 or ZA=12 or ZB=12 Then Gosub 6200
  443.  Return